#ifndef _MOTOR_TYPE_H
#define _MOTOR_TYPE_H
#include "platform.h"

typedef enum
{
    MotorSt_Stop,//停止状态
    MotorSt_Orient_1st_Init,//一次预定位准备
    MotorSt_Orient_1st,//一次预定位
    MotorSt_Orient_2nd_Init,//二次预定位准备
    MotorSt_Orient_2nd,//二次预定位      
    MotorSt_Orient_End,//预定位结束
    MotorSt_Force_Run,//强拖
    MotorSt_Sensorless_Run,//无感运行
}MotorState_t;

typedef struct
{
    uint8_t  dutyCycle;//定时器占空比
    uint8_t  selfStartSwitchCnt;//自适应负载启动阶段换向计数器

    uint16_t controlMode;//控制模式 0:开环 1:闭环
    uint16_t dir;//电机运行方向 0:顺时针 1:逆时针
    uint16_t openLoopDuty;//开环模式占空比
    uint16_t closeLoopSpeed;//闭环模式转速设定值
    uint16_t CCR;//定时器CCR值
    uint16_t speedInstant;//速度瞬时值
    uint16_t speedAct;//速度实际值(滤波后的值)
    uint8_t speedContEnable;//可以进行速度控制标志位
}MotorRunState_t;


#endif
